The present invention relates to communications in computer networks. More specifically, it relates to a method and system for forwarding data in accordance with the quality-of-service assigned to an address in a data-over-cable system.
The extensive wiring already undertaken to provide cable television service via cable networks and the large bandwidth, relative to that available on competing connections make it an attractive medium for providing access to services such as the Internet. The Internet, a world-wide-network of interconnected computers, provides multi-media content including audio, video, graphics and text that often require a large bandwidth for downloading and viewing.
Cable systems, as implemented today, have a tree structure. There is a xe2x80x9chead-endxe2x80x9d connected by branches to other nodes. A node may have a cable modem or other equipment to boost the signal strength, split the signal and other functions. These nodes are, in turn, connected by further branches to other nodes, with the tree finally terminating at customer premises. Coaxial or fiber-optic cables are used for branches although other connections, including wireless connections are possible. Ordinarily, there are no xe2x80x9cclosed loopsxe2x80x9d in such a system. In other words, there is only one functional path from the head-end to any given node. Data input at the head-end is received at the customer premises although some parts of the transmission may be blocked. Customer premise equipment communicates with the head-end of the cable system either by a return path outside of the cable system, or, in newer systems, with bandwidth from the cable network set aside for a return path.
Most Internet Service Providers allow customers to connect to the Internet via a telephone line connection to the Public Switched Telephone Network. The available data rates, usually less than 56,000 bps, are much slower than the about 10 Mbps to 30+ Mbps available on a coaxial cable or Hybrid Fiber/Coaxial cable network.
However, most cable television networks have installed unidirectional cable networks, supporting only a xe2x80x9cdownstreamxe2x80x9d data path. A downstream data path is the flow of data from a cable system head-end to a customer. Typically, a return, or xe2x80x9cupstream,xe2x80x9d data path is via a telephone network (i.e., a xe2x80x9ctelephony returnxe2x80x9d). An upstream data path facilitates the flow of data to the cable system head-end. Upstream path also includes the flow of data to a device that sends data to the cable modem on a down-stream path. A cable system with an upstream connection to a telephony network is called a xe2x80x9cdata-over-cable system with telephony return.xe2x80x9d Some of the cable systems provide two-way service allowing use of some of the bandwidth in a cable network for upstream data paths.
An exemplary data-over-cable system includes a cable modem, a cable-modem-termination system at the head-end, a cable television network, equipment at the nodes for signal processing, and, possibly, a telephony-remote-access-concentrator to manage an upstream telephony path via the public-switched-telephone-network. The cable-modem-termination system and the telephony-remote-access-concentrator together comprise a xe2x80x9ctelephony-return-termination system.xe2x80x9d
A data-over-cable system is typically connected to other devices and networks such as the Internet. Most of the connections to other networks are made at the head-end. When telephony return is present, it is possible to address upstream traffic via the telephony-remote-access-concentrator to the Internet without having to go through the cable-modem-termination system. On the other hand, in a two-way data-over-cable system, in the absence of additional upstream paths the outgoing and incoming data go through the cable-modem-termination system.
The cable-modem-termination system, at the head-end, receives data-packets and transmits them via the cable network to a cable modem, which may in turn send them on to customer premise equipment or further . The customer premise equipment may respond by sending data-packets to the cable modem, which, in turn, sends the data-packets upstream.
When a cable modem in a data-over-cable system is initialized, at least one downstream path, typically 6 MHz wide, from the cable-modem-termination system to the cable modem is set up. Six MHz is also the typical bandwidth for a television channel. The allocation is made so as to ensure coexistence of television broadcasts and data connections. In addition, at least one upstream path, either within the cable network, or via an external connection like the public switched telephone network, is established. The upstream path, even when within the cable network, does not usually have a bandwidth of 6 MHz. The frequency ranges occupied are different as well. paths are typically in the range of 50 MHz to approximately 1 GHz while the upstream paths are within 5 MHz to 42 MHz with a specific slot defined by the cable-modem-termination system.
As a cable modem is initialized in a data-over-cable system, it registers with a cable-modem-termination system. As part of a registration request message, the cable modem forwards configuration information to the cable-modem-termination system. This exchange also establishes the properties of the cable modem to the cable-modem-termination system. If the data-over-cable system supports Quality-of-Service, data-over-cable system may allocate resources to the cable modem in the course of registration.
Configuration information forwarded to a cable-modem-termination system from a cable modem is accompanied by Class-of-Service and Quality-of-Service and other parameters. As is known in the art, Class-of-Service provides a reliable transport facility independent of the Quality-of-Service. Class-of-Service parameters include maximum data rates, maximum upstream data rates, upstream channel priority, guaranteed minimum data rates, guaranteed maximum data rate and other parameters. Quality-of-Service collectively specifies the performance of a network service that a device expects on a network. Quality-of-Service parameters include transit delay expected to deliver data to a specific destination, the level of protection from unauthorized monitoring or modification of data, cost for delivery of data, expected residual error probability, the relative priority associated with the data and other parameters.
A cable-modem-termination system, at the head-end of the data-over-cable system, usually does not address the entire bandwidth, from approximately 50 MHz to about 1 GHz, available in the cable network. A cable-modem-termination system designed to address the entire bandwidth available in the cable network is not cost effective due to several reasons which include the number of processors that would be required. This limitation is handled, in part, by utilizing more than one cable-modem-termination system at the head-end such that each cable-modem-termination system addresses only a fraction of the possible bandwidth. This is possible because many of the tasks can be performed in parallel without extensive cross-communications between the multiple cable-modem-termination systems.
Each cable-modem-termination system is an expensive asset. Hence, optimal utilization of its capacity is warranted. In light of the above, adding another cable-modem-termination system is not always the preferred option when faced with increased demands on the system. For instance, users may be allowed to access system resources only after registering and receiving approval for their requested use of system resources. This permits resource allocation based on satisfying the needs of users allowed access to the data-over-cable system and avoid a freezing up the entire system. At the same time system resources do not have to match peak demand while being idle most of the time.
Furthermore, an entire 6 MHz bandwidth of a path is not exclusively used by a single cable modem. Efficient use of such a large bandwidth requires sending data to more than one cable modem by addressing data-packets to individual cable modems listening on the same path. A data-over-cable system also permits addressing of data-packets to more than one cable modem by means of broadcast addressing. Despite these built in strategies to promote efficient use of data-over-cable system resources, many problems remain.
In accordance with a preferred embodiment of the present invention, the problems associated with allocation and use of cable system resources are overcome. Methods and system for allocating and controlling access by devices and networks outside the cable system to devices and applications in the cable system are provided. However, the methods and system outlined below can be used to regulate access by devices within the cable system to each other as well. For the sake of clarity, access by devices outside the cable system to devices within the cable system is described first.
The methods and system include a first network device which receives data from an outside device on a communication channel. The data on the communication channel consist of several different data streams directed at a plurality of applications within the cable system. As an example, a T1 line may carry several voice and data messages multiplexed together. As is known in the art, a T1 connection has 24 channels multiplexed in the time domain and transmitted at a data rate of 1.054 M bits per second. Not all of these messages may have the same priority, real-time delivery or error-correction requirements. An application or a second network device receiving these messages after the first network device forwards them, presumably negotiated a Quality-Of-Service level, which includes optimal and minimal requirements. It is clear that a mismatch could result if sufficient bandwidth for an application is not available when the data actually streams in. On the other hand, reserving enough bandwidth would result in much of the bandwidth being wasted because its allocation would be dictated by peak demand.
Data is forwarded to different applications independent of each other. The first network device receiving data has to do more than merely forward the data to the intended destination. It splits the incoming data into buckets based on the quality of service identifier assigned to the destination for the particular piece of data. If enough bandwidth is not available for a particular Quality-of-Service identifier then the excess data is cached and transmitted later when the demand on the cable system resources is lower.
This strategy permits applications to negotiate a lowest acceptable data rate with the cable system while permitting the devices sending the data to not be restricted to the lowest rates. As a consequence, more users can access the cable system resulting in a more efficient utilization of cable system resources.
In a preferred embodiment of the present invention, the first network device is a cable-modem-termination system and the second network device is a cable modem. An outside device is another computer communicating with the cable system. However, the present invention is not limited to these devices.
As an example, a table may be constructed relating a Quality-of-Service identifier to a corresponding Network Host Interface Internet Protocol Address. A Network Host Interface Internet Protocol Address is the address to which the incoming data-packets are addressed. Typically, the cable-modem-termination system uses an Address Resolution Table to determine the address of a cable modem corresponding to a Network Host Interface Internet Protocol Address and forwards the incoming data-packets accordingly. In the suggested modification, a Quality-of-Service identifier is also determined for the incoming data-packets in a similar manner. Data-packets are sorted according to their corresponding Quality-of-Service identifiers. Of course methods other than look-up tables are possible for determining the Quality-of-Service identifiers as is well known in the art, and may be used without any loss of generality.
Implementing Quality-of-Service on a cable system presents distinctly different problems compared to other types of networks. There is no need to determine an optimal path due to the tree-structure intrinsic to a cable network but efficient bandwidth utilization is a major concern. In the example, it is possible to use the Quality-of-Service identifiers to determine the allocated-bandwidth. If the available bandwidth is insufficient, the excess data-packets are cached. The cached data packets are transmitted later when bandwidth is available. The foregoing and other features and advantages of a preferred embodiment of the present invention will be more readily apparent from the following detailed description, which proceeds with references to the accompanying drawings.